#ifndef ENET_HAL_H_
#define ENET_HAL_H_

#include "hal/platform_defines.h"

bool enet_hal_init                                  ( void );
uint16_t enet_hal_frame_receive                     ( uint8_t *data_buf );
int16_t enet_hal_frame_send                         ( uint8_t *data_buf, uint16_t pkt_len );
uint32_t enet_hal_get_phy_status                    ( void );
uint8_t enet_hal_is_link_up                         ( void );
uint8_t enet_hal_get_clock_speed                    ( void );
uint8_t enet_hal_is_full_duplex                     ( void );
int16_t enet_hal_activate_irq                       ( void );
int8_t enet_hal_set_txd                             ( uint32_t txd );
int8_t enet_hal_set_rxd                             ( uint32_t rxd );
uint32_t enet_hal_get_no_of_lost_delay_resp         ( void );
uint32_t enet_hal_get_no_of_lost_nios_network_pkt   ( void );
uint32_t enet_hal_get_nios_network_int_request      ( void );
uint32_t enet_hal_get_no_of_discarded_rx_pkt        ( void );
uint32_t enet_hal_get_no_of_rx_nios_network_pkt     ( void );
uint32_t enet_hal_get_no_of_rx_ptp_pkt              ( void );
uint32_t enet_hal_get_no_of_crc_error               ( void );

#endif /* ENET_HAL_H_*/
